/*
 * EtapaDAOJPA.java
 * 
 * Projeto: Kruskal - SRAC
 * LEDS - Laboratório de Engenharia e Desenvolvimento de Software
 * IFES - Instituto Federal do Espírito Santo - Campus Serra.
 */
package srac.controleatividades.cgd;

import java.util.List;
import javax.persistence.Query;
import srac.controleatividades.cdp.Etapa;
import srac.controleatividades.cdp.StatusEtapa;
import util.utilitarioPersistencia.DAOJPA;

public class EtapaDAOJPA extends DAOJPA<Etapa> implements EtapaDAO {

    @Override
    public List<Etapa> obterEtapas(Etapa e) {
        Query query = entityManager.createQuery("Select eE from Etapa eE where eE.id <> ?1");
        query.setParameter(1, e.getId());
        return query.getResultList();
    }
    
    @Override
    public List<Etapa> obterEtapaAtual() {
        Query query = entityManager.createQuery("Select e from Etapa e where e.statusEtapa = ?1 or e.statusEtapa = ?2 or e.statusEtapa = ?3");
        query.setParameter(1, StatusEtapa.SUBMISSAO_ABERTA);
        query.setParameter(2, StatusEtapa.CONFERENCIA_ABERTA);
        query.setParameter(3, StatusEtapa.VALIDACAO_ABERTA);
        return query.getResultList();
    }
    
    @Override
    public List<Etapa> obterProximaEtapa(){
         Query query = entityManager.createQuery("Select e from Etapa e where e.statusEtapa = ?1");
         query.setParameter(1, StatusEtapa.NAO_INICIADA);
         return query.getResultList();
    }
    
}